/**
 * @file random_module_generator.h
 * @brief function definitions for generating random modules
 * @author Scott Moyers
 * @date 2009
 */

#ifndef MY_RANDOM_MODULE_GENERATOR_H
#define MY_RANDOM_MODULE_GENERATOR_H

#include "module.h"
#include "dSFMT.h"

/**
 * Generates a random module with the given id, number of inputs and number of gates
 * @param dsfmt a pointer to a random number generator
 * @param id the id you wish this module to have
 * @param num_inputs the number of inputs for the module
 * @param num_gates the number of gates for the module
 * @return a new random module
 */
struct Module *rand_module(dsfmt_t *dsfmt, int id, int num_inputs, int num_gates);

#endif
